<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<title>DynamoRIO API: _dr_siginfo_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DynamoRIO API
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('struct__dr__siginfo__t.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">_dr_siginfo_t Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;dr_events.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a341b9ca2abef81a30319cc8382956963"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a341b9ca2abef81a30319cc8382956963">sig</a></td></tr>
<tr class="memitem:ab7bc19e0daa4762b646c41d1cb04302d"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#ab7bc19e0daa4762b646c41d1cb04302d">drcontext</a></td></tr>
<tr class="memitem:a39d67200783b38f36093cde45ebe6940"><td class="memItemLeft" align="right" valign="top"><a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a39d67200783b38f36093cde45ebe6940">mcontext</a></td></tr>
<tr class="memitem:a0bce3673e5a080fd5f6b1da9cbc8b364"><td class="memItemLeft" align="right" valign="top"><a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a0bce3673e5a080fd5f6b1da9cbc8b364">raw_mcontext</a></td></tr>
<tr class="memitem:a72eb3aeeabc53d8172b9d5ceb2ccd758"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a72eb3aeeabc53d8172b9d5ceb2ccd758">raw_mcontext_valid</a></td></tr>
<tr class="memitem:a5b69f50e3dfa08e79eee2e8b679d644f"><td class="memItemLeft" align="right" valign="top">byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a5b69f50e3dfa08e79eee2e8b679d644f">access_address</a></td></tr>
<tr class="memitem:a1f9b030679b1e758a1074a2c1ad93e42"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a1f9b030679b1e758a1074a2c1ad93e42">blocked</a></td></tr>
<tr class="memitem:a07defd2e97ecc515fbd97c7143a5986b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="dr__events_8h.html#aef4b133cb2bf598ee968170d982c4e62">dr_fault_fragment_info_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dr__siginfo__t.html#a07defd2e97ecc515fbd97c7143a5986b">fault_fragment_info</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Data structure passed with a signal event. Contains the machine context at the signal interruption point and other signal information. </p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a5b69f50e3dfa08e79eee2e8b679d644f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte* _dr_siginfo_t::access_address</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>For SIGBUS and SIGSEGV, the address whose access caused the signal to be raised (as calculated by DR). </p>

</div>
</div>
<a class="anchor" id="a1f9b030679b1e758a1074a2c1ad93e42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool _dr_siginfo_t::blocked</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Indicates this signal is blocked. DR_SIGNAL_BYPASS is not allowed, and a second event will be sent if the signal is later delivered to the application. Events are only sent for blocked non-delayable signals, not for delayable signals. </p>

</div>
</div>
<a class="anchor" id="ab7bc19e0daa4762b646c41d1cb04302d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dr_siginfo_t::drcontext</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The context of the thread receiving the signal. </p>

</div>
</div>
<a class="anchor" id="a07defd2e97ecc515fbd97c7143a5986b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dr__events_8h.html#aef4b133cb2bf598ee968170d982c4e62">dr_fault_fragment_info_t</a> _dr_siginfo_t::fault_fragment_info</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Information about the code fragment inside the code cache at the signal interruption point. </p>

</div>
</div>
<a class="anchor" id="a39d67200783b38f36093cde45ebe6940"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a>* _dr_siginfo_t::mcontext</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The application machine state at the signal interruption point. The client should not change <code>mcontext.flags:</code> it should remain DR_MC_ALL. </p>

</div>
</div>
<a class="anchor" id="a0bce3673e5a080fd5f6b1da9cbc8b364"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dr__defines_8h.html#a5d50a4225e834d67f66438669608e435">dr_mcontext_t</a>* _dr_siginfo_t::raw_mcontext</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The raw pre-translated machine state at the signal interruption point inside the code cache. NULL for delayable signals. Clients are cautioned when examining code cache instructions to not rely on any details of code inserted other than their own. The client should not change <code>mcontext.flags:</code> it should remain DR_MC_ALL. </p>

</div>
</div>
<a class="anchor" id="a72eb3aeeabc53d8172b9d5ceb2ccd758"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool _dr_siginfo_t::raw_mcontext_valid</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether raw_mcontext is valid. </p>

</div>
</div>
<a class="anchor" id="a341b9ca2abef81a30319cc8382956963"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int _dr_siginfo_t::sig</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The signal number. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dr__events_8h.html">dr_events.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="struct__dr__siginfo__t.html">_dr_siginfo_t</a></li>
    <li class="footer" style="float:none;text-align:center"><img border=0 src="favicon.png"> &nbsp;  DynamoRIO API version 5.0.0 --- Wed Sep 10 2014 21:36:44 &nbsp; <img border=0 src="favicon.png">
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
